<script language="JavaScript" type="text/javascript">

function findValueCallback(event, data, formatted) {
    $("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
}

function formatItem(row) {
    $return = row[1] + " " + row[2];
    if(row[4]>=2){
        $return += " (JTX)";
    }else{
        $return += " (" + row[3] + ")";
    }
    return $return;
}
function formatResult(row) {
        return row[0].replace(/(<.+?>)/gi, '');
}

function autocompletionChampEmprunt(champ)
{
    champ.autocomplete("utilities/users.php", {
        width: 260,
        selectFirst: false,
        formatItem: formatItem,
        formatResult: formatResult
    });
}


$().ready(function() {

	$(".emprunteur").each(function(i){
            autocompletionChampEmprunt($(this)) ;
        });

});

    // Mise à jour interactive de la liste des types de matériel
ajouterTache("MaterielType", "ajout", function(id){
    $.getJSON("utilities/jsonDescriptions/jsonDescriptionMaterielType.php?id="+id, {}, function(data){
        $("td.nouveauMaterielType").before("<td class=\"ajoute"+data.id+" unselected\"><a href=\"index.php?page=gestionMateriel&amp;id_type="+data.id+"\">"+data.nom+"</a></td>") ;
        $("td.listeMateriel").attr("colspan", $("td.listeMateriel").attr("colspan")+1) ;
        $("table.materielType td.ajoute"+data.id).hide().fadeIn("slow") ;
    }) ;
}) ;
ajouterTache("MaterielType", "update", function(id){
    $.getJSON("utilities/jsonDescriptions/jsonDescriptionMaterielType.php?id="+id, {}, function(data){
        $("td#materielType_"+data.id+" a").html(data.nom) ;
        $("td#materielType_"+data.id).hide().fadeIn("slow") ;
    }) ;
}) ;
ajouterTache("MaterielType", "delete", function(id){
    $("td#materielType_"+id).fadeOut("def", function(){
        $(this).remove() ;
    });
});

// Mise à jour d'une des lignes
function reload(id)
{
    $.post("ajax/ligneMateriel.php?id="+id, {}, function(data){
        $("table.materiel tr#materiel_"+id).fadeOut("def", function(){
            $(this).before(data).remove() ;
            preparation ($("table.materiel tr#materiel_"+id)) ;
            preparationLigne ($("table.materiel tr#materiel_"+id)) ;
            $("table.materiel tr#materiel_"+id).hide().fadeIn() ;
            autocompletionChampEmprunt($("table.materiel tr#materiel_"+id+" input.emprunteur")) ;
        });
    });
}

// Mise à jour interactive de la liste des matériels
ajouterTache("Materiel", "ajout", function(id){
    $.get("ajax/ligneMateriel.php", {"id" : id}, function(data){
        $("table.materiel tr.nouveau").before(data) ;
        autocompletionChampEmprunt($("table.materiel tr#materiel_"+id+" input.emprunteur")) ;
        preparation($("table.materiel tr#materiel_"+id)) ;
        preparationLigne ($("table.materiel tr#materiel_"+id)) ;
        $("table.materiel tr#materiel_"+id).hide().fadeIn("def") ;
    });
}) ;
ajouterTache("Materiel", "update", function(id){
    reload(id) ;
}) ;
ajouterTache("Materiel", "delete", function(id){
    $("table.materiel tr#materiel_"+id).fadeOut("def");//, function(){$(this).remove();});
}) ;

// Emprunt/restitution
$("form.emprunt").submit(function(){
    //id = $(this).find("input[name=\"id_matos\"]").val() ;
    alert("id") ;
    /*$.post("ajax/emprunterRendreMateriel.php", $(this).serialize(), function(data){
        reload(id) ;
    });*/
    return false ;
});

// Actions a effectuer sur les lignes des leurs apparitions
function preparationLigne(ligne)
{
    // Emprunt et restitution dynamiques
    ligne.find("form.emprunt").submit(function(){
        var id = $(this).find("input[name=\"id_matos\"]").val() ;
        //alert(id) ;
        $.post("ajax/emprunterRendreMateriel.php?action=emprunter", $(this).serialize(), function(data){
            reload(id) ;
        });
        // Pour ne pas recharger la page
        return false ;
    });
    ligne.find("a.rendreMateriel").click(function()
    {
        // Extraction de l'id du pret
        expression = new RegExp("id\=.*$") ;
        occurences = $(this).attr("href").match(expression) ;
        id = occurences[0].substring(3) ;

        // Extraction de l'id du matos'
        expression = new RegExp("rendreMateriel_.*$") ;
        occurences = $(this).attr("class").match(expression) ;
        var id_matos = occurences[0].substring(15) ;
        // Restitution
        //alert ("id = " + id + " ; id_matos = " + id_matos) ;

        $.get("ajax/emprunterRendreMateriel.php", {"action" : "rendre", "id" : id}, function(data){
            reload(id_matos) ;
        });

        // Pour ne pas faire agir le lien
        return false ;
    });
}

$("table.materiel").ready(function(){
    preparationLigne($(this)) ;
}) ;
</script>

<?php

require("utilities/materiel.php") ;

// Emprunt et restitution
require("ajax/emprunterRendreMateriel.php") ;

$selected = " class=\"unselected\"" ;
if (empty($_GET['id_type'])) $selected = " class=\"selected\"" ;

?>
<table width="600" border="1" class="materielType">
    <tr>
        <td <?= $selected?>>
            <a href="index.php?page=gestionMateriel">Tous</a>
        </td>

<?php

connect();
$requete = "SELECT * FROM `MaterielType`;";
$reponse = executerRequete($requete, $GLOBALS["debug"]);
$nombreTypes = 1 ;

while ($row = mysql_fetch_array($reponse)) {
    $selected = " class=\"unselected\"" ;
    if ($_GET['id_type'] == $row['id']) $selected = " class=\"selected\"" ;
    echo <<<END

        <td id="materielType_{$row['id']}"{$selected}>
            <a href="index.php?page=gestionMateriel&amp;id_type={$row['id']}">{$row['nom']}</a>
        </td>

END;
    $nombreTypes ++ ;
}

// Type de matériel courant
$materielType = null ;
if (!empty($_GET['id_type']))
{
    $requete = "SELECT * FROM MaterielType WHERE id=\"{$_GET['id_type']}\";" ;
    connect() ;
    $result = executerRequete($requete, $GLOBALS['debug']) ;
    if (mysql_num_rows($result) > 0)
    {
        $rowType = mysql_fetch_assoc($result) ;
        $materielType = $rowType['nom'] ;
    }
}

if (niveauOK(2))
{
?>
    <td class="nouveauMaterielType unselected">
        <a class="edition" href="index.php?page=updateMaterielType">Nouveau type de matériel</a>
    </td>
<?php $nombreTypes ++ ; } ?>
    </tr>
    <tr>
        <td colspan="<?= $nombreTypes ?>" class="listeMateriel">

<table width="600" border="1" class="materiel liste">
    <tr>
        <td class="materielType" colspan="4">
<?php
if ($materielType != null)
{
    echo "<span class=\"titreMaterielType\">$materielType</span>".PHP_EOL ;
    if (niveauOK(2))
    {
        echo "<div class=\"edition\"><a class=\"edition\" href=\"index.php?page=updateMaterielType&id={$_GET['id_type']}\">modifier</a>".PHP_EOL ;
        echo " - <a class=\"edition\" href=\"index.php?page=updateMaterielType&supprimer={$_GET['id_type']}\">supprimer</a></div>".PHP_EOL ;
    }
?>
<script language="JavaScript" type="text/JavaScript">
// Taches correspondant à des actions sur le type courant
ajouterTache("MaterielType", "update", function(id){
    if (id == "<?= $_GET['id_type'] ?>")
        $.getJSON("utilities/jsonDescriptions/jsonDescriptionMaterielType.php?id="+id, {}, function(data){
            $("span.titreMaterielType").html(data.nom) ;
        }) ;
});
ajouterTache("MaterielType", "delete", function(id){
    document.location.href = "index.php?page=gestionMateriel" ;
});
</script>
<?php
}
else echo "Tous" ;
?>
        </td>
    </tr>
    <tr>
        <th scope="col">Matériel</th>
        <th scope="col">Emprunteur</th>
        <th scope="col">Date</th>
        <th scope="col">Modifier</th>
    </tr>
<?php
$whereIdType = "" ;
if($_GET['id_type'] != '') $whereIdType = " WHERE `id_type` = \"{$_GET['id_type']}\"" ;
$requete = "SELECT * FROM Materiel$whereIdType ORDER BY nom; ";
$reponse = executerRequete($requete, $GLOBALS["debug"]);

while ($donnees1 = mysql_fetch_array($reponse))
{
        ligneMateriel($donnees1) ;
}

mysql_close() ;

if (niveauOK(2))
    {
?>
    <tr class="nouveau">
        <td class="nouveau" colspan="4">
            <a class="edition" href="index.php?page=updateMateriel&id_type=<?= $_GET['id_type'] ?>">Nouveau matériel</a>
        </td>
    </tr>
    <?php } ?>
</table>
</td>
</tr>
</table>
<script language="JavaScript" type="text/JavaScript">

</script>
